package Repositorio;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class RepositorioMedicoEspecialidade {
	private Statement stmt;
	private String sqlStatement;
	public RepositorioMedicoEspecialidade() {
		stmt = Conexao.getInstance().stmt;
	}
	public void cadastrarMedicoEspecialidade(String crm, String especialidade[]) throws SQLException {
		for(int i = 0; i < especialidade.length; i++) {
			sqlStatement = "INSERT INTO temMedicoEspecialidade VALUES('"+crm+"','"+especialidade[i]+"')";
			stmt.executeUpdate(sqlStatement);
		}
	}
	public void removerMedicoEspecialidade(String crm) throws SQLException {
		sqlStatement = "DELETE FROM temMedicoEspecialidade WHERE CRM='"+crm+"'";
		stmt.executeUpdate(sqlStatement);
	}
	public String[] consultarEspecialidadePorMedico(String crm) throws SQLException {
		ResultSet rs;
		sqlStatement = "SELECT count(*) FROM temMedicoEspecialidade WHERE CRM='"+crm+"'";
		rs = stmt.executeQuery(sqlStatement);
		rs.next();
		int especialLength = rs.getInt("count(*)");
		String especialidade[] = new String[especialLength];
		sqlStatement = "SELECT Especialidade FROM temMedicoEspecialidade WHERE CRM='"+crm+"'";
		rs = stmt.executeQuery(sqlStatement);
		int i = 0;
		while(rs.next()) {
			especialidade[i] = rs.getString("Especialidade");
			i++;
		}
		return especialidade;
	}
	public String[] consultarMedicoPorEspecialidade(String especialidade) throws SQLException {
		ResultSet rs;
		sqlStatement = "SELECT count(*) FROM temMedicoEspecialidade WHERE Especialidade='"+especialidade+"'";
		rs = stmt.executeQuery(sqlStatement);
		rs.next();
		int especialLength = rs.getInt("count(*)");
		String crm[] = new String[especialLength];
		sqlStatement = "SELECT CRM FROM temMedicoEspecialidade WHERE Especialidade='"+especialidade+"'";
		rs = stmt.executeQuery(sqlStatement);
		int i = 0;
		while(rs.next()) {
			crm[i] = rs.getString("CRM");
			i++;
		}
		return crm;
	}
	public boolean verificarMedicoEspecialidade(String especialidade) throws SQLException {
		boolean ret;
		sqlStatement = "SELECT * FROM temMedicoEspecialidade WHERE Especialidade='"+especialidade+"'";
		ResultSet rs = stmt.executeQuery(sqlStatement);
		if(rs.next()) {
			ret = true;
		} else {
			ret = false;
		}
		return ret;
	}
	public boolean verificarMedicoEspecialidade(String crm, String especialidade) throws SQLException {
		boolean ret;
		sqlStatement = "SELECT * FROM temMedicoEspecialidade WHERE CRM='"+crm+"' and Especialidade='"+especialidade+"'";
		ResultSet rs = stmt.executeQuery(sqlStatement);
		if(rs.next()) {
			ret = true;
		} else {
			ret = false;
		}
		return ret;
	}
};
